package org.javahispano.javacup.modelo;

import org.javahispano.javacup.modelo.Constantes;
import org.javahispano.javacup.modelo.Posicion;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Image;
import org.newdawn.slick.SlickException;

/**
Esta clase dibuja la publicidad estatica
 */
public class PintaPublicidad {

	Image imgCentral;
	Image h, v;
	int wm, hm;

	public PintaPublicidad(String imgCentral, String h, String v, int wm, int hm) throws SlickException {
		this.wm = wm;
		this.hm = hm;
		this.imgCentral = new Image(imgCentral);
		this.v = new Image(v);
		this.h = new Image(h);
	}
	Posicion p0 = Constantes.esqSupIzqCampo.moverPosicion(0, -2);
	Posicion p1 = Constantes.esqSupIzqCampo.moverPosicion(0, Constantes.LARGO_CAMPO);
	Posicion p2 = Constantes.esqSupIzqCampo.moverPosicion(Constantes.ANCHO_CAMPO, 0);
	Posicion p3 = Constantes.esqSupIzqCampo.moverPosicion(-2, 0);
	Posicion sizeh = new Posicion(Constantes.ANCHO_CAMPO, 2);
	Posicion sizev = new Posicion(2, Constantes.LARGO_CAMPO);

	public void pintaPublicidad(Graphics g, Posicion p, double escala) {
		int[] inf = Transforma.transform(sizeh, escala);
		int[] pos = Transforma.transform(p0, p, wm, hm, escala);
		g.drawImage(h.getScaledCopy(inf[0], inf[1]), pos[0], pos[1]);

		pos = Transforma.transform(p1, p, wm, hm, escala);
		Image img = h.getScaledCopy(inf[0], inf[1]);
		img.rotate(180);
		g.drawImage(img, pos[0], pos[1]);

		img = v.getScaledCopy(inf[0], inf[1]);
		inf = Transforma.transform(sizev, escala);
		pos = Transforma.transform(p2, p, wm, hm, escala);
		img = v.getScaledCopy(inf[0], inf[1]);
		g.drawImage(img, pos[0], pos[1]);

		pos = Transforma.transform(p3, p, wm, hm, escala);
		img.rotate(180);
		g.drawImage(img, pos[0], pos[1]);
	}
}
